package cn.cs.client;

import cn.cs.config.CsConfiguration;
import cn.cs.fallback.CsPartsFallBack;
import cn.cs.fallback.UserInformationWebFallBack;
import cn.cs.pojo.CsParts;
import cn.cs.pojo.CsPartsAttribute;
import cn.cs.pojo.CsPartsQrCode;
import cn.cs.pojo.UserInformationWeb;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * Created by yuexl
 */
@FeignClient(name = "cs-user-provider", configuration = CsConfiguration.class, fallback = UserInformationWebFallBack.class)
public interface UserInformationWebClient {

    @RequestMapping(value = "/getUserInformationWebById", method = RequestMethod.POST)
    public UserInformationWeb getUserInformationWebById(@RequestParam("id") String id) throws Exception;

    @RequestMapping(value = "/getUserInformationWebListByMap", method = RequestMethod.POST)
    public List<UserInformationWeb> getUserInformationWebListByMap(@RequestBody Map<String, Object> param) throws Exception;

    @RequestMapping(value = "/getUserInformationWebCountByMap", method = RequestMethod.POST)
    public Integer getUserInformationWebCountByMap(@RequestBody Map<String, Object> param) throws Exception;

    @RequestMapping(value = "/insertUserInformationWeb", method = RequestMethod.POST)
    public Integer insertUserInformationWeb(@RequestBody UserInformationWeb userInformationWeb) throws Exception;

    @RequestMapping(value = "/updateUserInformationWeb", method = RequestMethod.POST)
    public Integer updateUserInformationWeb(@RequestBody UserInformationWeb userInformationWeb) throws Exception;

    @RequestMapping(value = "/deleteUserInformationWebById", method = RequestMethod.POST)
    public Integer deleteUserInformationWebById(@RequestParam("id") String id) throws Exception;

}

